message := temp
barnch := lizilin

checkout_diagram:
	git stash push
	git checkout diagram

checkout_diagram_back:
	git add diagram/
	git commit -m "$(message)"
	git push origin diagram
	git checkout $(branch)
	git stash pop

default_add:
	git add src/
	git add doc/
	git add readme.md
	git add .gitignore
	git add Makefile
	git add ip/Adder/Adder.xci
	git add ip/Div_32/Div_32.xci
	git add ip/DStoreFifo/DStoreFifo.xci
	git add ip/mult_32/mult_32.xci
	git add ip/ucache_fifo/ucache_fifo.xci
	git add ip/SignMult/SignMult.xci
	git add ip/bht_mem/bht_mem.xci
	git add ip/Adder64_unsigned/Adder64_unsigned.xci
	git add ip/Adder64_sign/Adder64_sign.xci


default_commit: default_add
	git commit -m "$(message)"

default_push: default_add
	git commit -m "$(message)"
	git push origin $(branch)

default_pull:
	git pull --rebase origin master

cache_push:
	git stash
	git checkout lizilin
	git stash apply
	make default_push
	git checkout cache_only
	git stash pop